Electronic systems and circuits have made a significant contribution towards the advancement of modern society and are utilized in a number of applications to achieve advantageous results. Numerous electronic technologies such as digital computers, calculators, audio devices, video equipment, and telephone systems facilitate increased productivity and cost reduction in analyzing and communicating data, ideas and trends in most areas of business, science, education and entertainment. Electronic systems designed to produce these results usually involve interfacing with a user and the interfacing often involves presentation of graphical images to the user. Displaying graphics images traditionally involves intensive data processing and coordination requiring considerable resources and often consuming significant power.
An image is typically represented as a raster (an array) of logical picture elements (pixels). Pixel data corresponding to certain surface attributes of an image (e.g. color, depth, texture, etc.) are assigned to each pixel and the pixel data determines the nature of the projection on a display screen area associated with the logical pixel. Conventional three dimensional graphics processors typically involve extensive and numerous sequential stages or “pipeline” type processes that manipulate the pixel data. A relatively significant amount of processing and memory resources are usually required to implement the numerous stages of a traditional pipeline.
A number of new categories of devices (e.g., such as portable game consoles, portable wireless communication devices, portable computer systems, etc.) are emerging where displaying graphics on relatively small size displays and power consumption of limited supplies (e.g., a battery) are a significant concern. User experience is usually very important in graphics applications and glitches in image presentation usually have a deleterious effect on user experience. Image presentation problems wasted power expenditures are often the result of pipeline processing and flow issues which can be relatively complex and complicated to detect. Ensuring proper and efficient processing operations often depends upon effective performance monitoring. Ascertaining and analyzing graphics pipeline performance information is often very difficult and traditional approaches to gathering performance monitoring information are usually limited.